package com.agri.api.service.farmer;


import com.ruoyi.common.model.farmer.domain.FarmerProducts;
import com.ruoyi.common.model.farmer.dto.req.FarmerProductsAddReq;
import com.ruoyi.common.model.farmer.dto.req.FarmerProductsReq;
import com.ruoyi.common.model.farmer.dto.resp.FarmerProductsCardResp;
import com.ruoyi.common.model.farmer.dto.resp.FarmerProductsResp;
import com.ruoyi.common.model.mall.dto.req.GoodListReq;
import com.ruoyi.common.model.mall.dto.resp.GoodSimpleItemResp;

import java.util.List;

/**
 * @author huixh
 */
public interface IFarmerProductsService {
    /**
     * 查询products
     *
     * @param id products主键
     * @return products
     */
    public FarmerProductsResp selectFarmerProductsDetailById(Long id);

    /**
     * 查询products列表
     *
     * @param farmerProducts products
     * @return products集合
     */
    public List<FarmerProductsCardResp> selectFarmerProductsList(FarmerProducts farmerProducts);

    /**
     * 根据分类id查询商品列表
     *
     * @param goodListReq goodListReq
     * @return List
     */
    public List<GoodSimpleItemResp> selectGoodsListByCategoryId(GoodListReq goodListReq);

    /**
     * 新增products
     *
     * @param farmerProducts products
     * @return 结果
     */
    public void insertFarmerProducts(FarmerProductsAddReq farmerProducts);

    /**
     * 修改products
     *
     * @param id
     * @param farmerProducts products
     */
    public void updateFarmerProducts(Long id,FarmerProductsAddReq farmerProducts);

    /**
     * 批量删除products
     *
     * @param ids 需要删除的products主键集合
     * @return 结果
     */
    public int deleteFarmerProductsByIds(Long[] ids);

    /**
     * 删除products信息
     *
     * @param id products主键
     * @return 结果
     */
    public int deleteFarmerProductsById(Long id);

    /**
     * 插入products 详细信息
     *
     * @param farmerProducts 商品对象
     * @return 结果
     */
    void insertFarmerProductsInfo(FarmerProductsReq farmerProducts);
}
